
# 面向对象-变量
"""
在类中 ，变量包括 ：类变量 、实例变量 、局部变量

# 1. 类变量
1）概念 ：定义在类内部 ，方法外部的变量 ，这些变量会被整个类所共享
2）定义 ：变量名 = 值
3）调用 ：
    对象名.变量名
    类名.变量名
4) 使用场景 ：定义公共数据

# 2. 实例变量
1）概念 ：定义在方法的内部 ，专门给对象使用的变量
2）定义 ：self.变量名 = 值
3) 使用 ：self.变量名

# 3. 局部变量
1）概念 ：定义方法内部或者代码块内部
2）定义 ：变量名 = 值
3）调用 ；变量名
4) 作用范围 ：只有在方法内
"""

class Bug:

    # 类变量
    bug_level = [1,2,3,4]
    bug_pri = [1,2,3,4]

    def __init__(self,product,project):
        self.product = product
        self.project = project

    def create_bug(self):
        print("创建了一个bug")
        print("输出产品对应的项目:{}".format(self.project))


    def search_bug(self,title=None):
        db_bugs = [
            {'bug_id': 1, 'bug_title': '学生列表页使用学生名称进行搜索 结果不正确', 'bug_project': self.project, 'version': 1.0},
            {'bug_id': 2, 'bug_title': '和方法开始减肥盛世嫡妃', 'bug_project': 'tpshop', 'version': 1.0,'bug_level':self.bug_level},
            {'bug_id': 3, 'bug_title': '导出的数据中字段(执勤单位)数据显示错误', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 4, 'bug_title': '学生列表sdfsdfsdfsdfsdf', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 5, 'bug_title': '学员列表页按照学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0}
        ]
        if title:
            lst = []        # 存放搜索的bug数据
            for bug in db_bugs:
                bug_title = bug.get('bug_title')
                if title in bug_title:
                    lst.append(bug)
            return lst

        return db_bugs



bug = Bug('wx','app')
print(bug.bug_level)        # 通过对象调用
print("="*30)
print(Bug.bug_level)        # 通过类名调用

print(Bug('douyin','app').bug_level)

print(bug.search_bug('学生列表'))